home *** CD-ROM | disk | FTP | other *** search
- This distribution contains all of the files that you need in order
- to use GNU C with a VMS system. The various components have the following
- version numbers:
- GCC-CPP 1.39
- GCC-CC1 1.39
- GCC-AS 1.38.1
- BISON ?.??
-
- All of the executables have been linked on a VMS 4.7 system, and should
- run on systems running VMS 4.4 through the latest release. There have been a
- few improvements to GNU C since the last binary distribution which will
- be of interest to VMS users. These changes are:
-
- 1) The compiler driver has been much improved. It no longer leaves
- temporary files lying around, and it supports a number of new options. If
- you wish to use the old compiler driver, it is also included with this
- distribution, and can be found in the directory [-.gcc-vms.vms.old-driver].
- The sources to the new driver can be found in [-.gcc-vms.vms]. For an
- up-to-date description of the options that are supported in the new driver,
- see the file gcc.hlp (this file can and should be installed in the system
- help library). The new compiler driver also supports the GNU C++ compiler,
- although the C++ compiler itself is not included in this distribution.
-
- 2) GNU C now generates debugging records for the symbols in C
- programs, and thus variables can now be examined (and set) with the VMS
- debugger.
-
- 3) A function and block profiler is now provided. See GCC.HLP for
- more information.
-
- 4) Global constants now work properly. You should be aware that
- you should use the "const" modifier in the declaration of global constants
- in each source file in which they appear, or you will get warning messages
- from the linker about "conflicting psect attributes".
-
- 5) GNU C programs should now work properly with sharable image
- libraries. Previous versions of GNU C would generate executables that
- would exhibit strange behavior in certain cases where data elements in the
- sharable image library were accessed. This should no longer occur. I will
- inject a note of caution however: the qsort routine in VAXCRTL has a known
- bug (this bug has not yet been fixed in the latest release of VMS, 5.4-1),
- and this routine should be avoided. The qsort routine in GCCLIB is known
- to work properly and should be used instead. Similarily, there is a bug in
- the strncat routine in VAXCRTL, and this routine also should be avoided.
- If you attempt to link a program to the shared VAXCRTL, the linker will
- use these routines and pass over the ones in GCCLIB, thus if you attempt to
- rebuild the compiler and link it to the sharable VAXCRTL you will get a
- brain-dead compiler.
-
- 6) The preprocesor, the assembler, and the compiler driver included
- with this distribution will work with GNU C++. You will need to obtain
- the compiler itself (gcc-cc1plus, or gcc-cplus), and in addition
- the libg++ class library will come in handy.
-
- 7) A portion of the manual is included. This should describe some
- of the language features and enhancements that are available in GNU-C, as well
- a full description. I have not included sections dealing with the internal
- operations and passes of the compiler. If you want the entire gcc manual, you
- must load the gcc distribution.
-
- 8) There are enough include files here for many purposes, but this is
- not at all a complete set. At some point in the future, I would like to
- augment what we have here with some others that come in quite handy. I would
- also like to point out that some of the include files in the [.include.vms]
- directory are redundant, and some of them are hopelessly out of date. For
- many, if not most of these, there are more up to date files available in
- [.include]. The files that are out of date and/or redundant are:
- <vms/xabdef.h> use <xab.h> instead.
- <vms/xabdatdef.h> use <xab.h> instead.
- <vms/xabfhcdef.h> use <xab.h> instead.
- <vms/namdef.h> use <nam.h> instead.
- <vms/fabdef.h> use <fab.h> instead.
- <vms/prvdef.h> use <prvdef.h> instead.
- <vms/ssdef.h> use <ssdef.h> instead.
-
- All of these files are still included with this distribution.
-
- I did add some include files that were easily obtainable. For example,
- gcc, gas, and emacs contain a number of include files for VMS, and these will
- now be distributed with the gcc-vms distribution. A couple of others were
- easily generated by machine. There are still a couple of key header files
- missing, and I hope in the near future to include these.
-
-
- 9) There are some known sources of incompatibility between GNU-C and VAX-C
-